package com.wallet.trans.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
/**
 * @author mars
 * 基础通用实体类（不包含商户id）
 */
@Getter
@Setter
public class BaseCommonEntity implements Serializable {
    /**
     * 自增ID
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;
    /**
     * 创建人ID
     */
    private Integer createdById;
    /**
     * 创建时间
     */
    private LocalDateTime createdTime;
    /**
     * 更新人id
     */
    private Integer updateById;
    /**
     * 更新时间
     */
    private LocalDateTime updatedTime;
    /**
     * 是否删除 1已删除，2未删除
     */
    @TableLogic(value="2", delval="1")
    private Integer isDelete;
    /**
     * 更新版本
     */
    //@Version
    private Integer version = 1;
    /**
     * 根据操作人赋值创建初始化信息
     * @param userId 操作人
     */
    public void setCreate(int userId) {
        this.createdById = userId;
        this.createdTime = LocalDateTime.now();
        this.updateById = userId;
        this.updatedTime = LocalDateTime.now();
    }
    /**
     * 根据操作人赋值修改初始化信息
     * @param userId 操作人
     */
    public void setUpdate(int userId) {
        this.updateById = userId;
        this.updatedTime = LocalDateTime.now();
    }
}